<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
<div th:replace="~{include-head :: head}"></div>
<link rel="stylesheet" type="text/css" href="/css/pagination.css">
<body>
<div th:replace="~{include-nav :: nav}"></div>
<div class="container-fluid">
    <div class="row">
        <div th:replace="~{include-sidebar :: sidebar}"></div>
            <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
                <h1 class="page-header">控制面板</h1>
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title"><i class="glyphicon glyphicon-th"></i> 数据列表</h3>
                    </div>
                    <div class="panel-body">
                        <form th:action="@{/admin/query/for/search}"  class="form-inline" role="form" style="float:left;" method="post">
                            <div class="form-group has-feedback">
                                <div class="input-group">
                                    <div class="input-group-addon">查询条件</div>
                                    <input  class="form-control has-success" th:value="${param.keyword}" name="keyword" type="text" placeholder="请输入查询条件">
                                </div>
                            </div>
                            <button type="submit" class="btn btn-warning"><i class="glyphicon glyphicon-search"></i> 查询</button>
                        </form>
                        <button id="batchRemoveBtn" type="button" class="btn btn-danger"
                                style="float:right;margin-left:10px;"><i class=" glyphicon glyphicon-remove"></i> 删除</button>
                        <a th:href="@{/admin/to/add/page.html}" class="btn btn-primary" style="float: right;">
                            <i class="glyphicon glyphicon-plus"></i> 新增
                        </a>
                        <br>
                        <hr style="clear:both;">
                        <div class="table-responsive">
                            <table class="table  table-bordered">
                                <thead>
                                <tr >
                                    <th width="30">#</th>
                                    <th width="30"><input id="summaryBox" type="checkbox"></th>
                                    <th>账号</th>
                                    <th>名称</th>
                                    <th>邮箱地址</th>
                                    <th width="100">操作</th>
                                </tr>
                                </thead>
                                <tbody>

                                <tr th:if="${#lists.isEmpty(#request.getAttribute('PAGE-INFO').list)}">
                                    <td style="text-align: center;" colspan="6">抱歉！没有符合您要求的查询结果！</td>
                                </tr>
                                <tr th:each="admin,myStatus : ${#request.getAttribute('PAGE-INFO').list}">
                                    <td th:text="${myStatus.count}"></td>
                                    <td><input th:adminId="${admin.id}" class="itemBox" type="checkbox"></td>
                                    <td th:text="${admin.loginacct}"></td>
                                    <td th:text="${admin.username}"></td>
                                    <td th:text="${admin.email}"></td>
                                    <td>
                                        <a th:href="@{/assign/to/assign/role/page(adminId=${admin.id },pageNum=${#request.getAttribute('PAGE-INFO').pageNum})}" class="btn btn-success btn-xs">
                                            <i class=" glyphicon glyphicon-check"></i>
                                        </a>
                                        <a th:href="@{/admin/to/edit/page(adminId=${admin.id},pageNum=${#request.getAttribute('PAGE-INFO').pageNum})}" class="btn btn-primary btn-xs">
                                            <i class=" glyphicon glyphicon-pencil"></i>
                                        </a>
                                        <button th:adminId="${admin.id}" type="button" class="btn btn-danger btn-xs uniqueRemoveBtn"><i class=" glyphicon glyphicon-remove"></i></button>
                                    </td>
                                </tr>
                                </tbody>
                                <tfoot>
                                <tr>
                                    <td colspan="6" align="center">
                                        <div id="Pagination" class="pagination"><!-- 这里显示分页 --></div>
                                    </td>
                                </tr>
                                </tfoot>
                            </table>
                        </div>
                    </div>
                </div>
            </div>

    </div>
</div>
<script type="text/javascript" src="/script/jquery.pagination.js"></script>
<script type="text/javascript">
    $(function () {
        $(".list-group-item").click(function(){
            if ( $(this).find("ul") ) {
                $(this).toggleClass("tree-closed");
                if ( $(this).hasClass("tree-closed") ) {
                    $("ul", this).hide("fast");
                } else {
                    $("ul", this).show("fast");
                }
            }
        });
        // 对分页导航条显示进行初始化
        initPagination();
        //实现全选全不选
        $("#summaryBox").click(function() {
            // 获取当前#summaryBox的勾选状态
            // this代表当前多选框对象（DOM对象）
            // checked属性为true时表示被勾选，为false时表示没有被勾选
            // 使用checkStatus设置.itemBox的状态
            $(".itemBox").prop("checked",this.checked);
        });
        //实现用户多条记录删除
        $("#batchRemoveBtn").click(function () {
            // 创建数组对象：存储adminId
            var adminIdArray = new Array();
            // 创建数组对象：存储loginAcct
            var loginAcctArray = new Array();
            $(".itemBox:checked").each(function () {
                var adminId=$(this).attr("adminId");
                adminIdArray.push(adminId);
                var loginAcct=$(this).parent("td").next().text();
                loginAcctArray.push(loginAcct);
            });
            doBatchRemove(adminIdArray,loginAcctArray);

        });
        //实现用户单条记录删除
        $(".uniqueRemoveBtn").click(function () {
            // 获取当前adminId值
            var adminId = $(this).attr("adminId");
            var loginAcct = $(this).parents("tr").children("td:eq(2)").text();
            // 为了能够使用批量删除的操作，将adminId存入数组
            var adminIdArray = new Array();
            var loginAcctArray = new Array();
            adminIdArray.push(adminId);
            loginAcctArray.push(loginAcct);
            doBatchRemove(adminIdArray,loginAcctArray);

        });



    });
    // 声明函数封装导航条初始化操作
    function initPagination() {
        // 声明变量存储总记录数
        var totalRecord = [[${#request.getAttribute('PAGE-INFO').total}]];
        // 声明变量存储分页导航条显示时的属性设置
        var paginationProperties = {
            num_edge_entries : 3,        //边缘页数
            num_display_entries : 5,      //主体页数
            callback : pageselectCallback, //回调函数
            items_per_page : [[${#request.getAttribute('PAGE-INFO').pageSize}]],    //每页显示数据数量，就是pageSize
            current_page : [[${#request.getAttribute('PAGE-INFO').pageNum-1}]],//当前页页码
            prev_text : "上一页",       //上一页文本
            next_text : "下一页"        //下一页文本
        };
        // 显示分页导航条
        $("#Pagination").pagination(totalRecord, paginationProperties);
    }

    // 在每一次点击“上一页”、“下一页”、“页码”时执行这个函数跳转页面
    function pageselectCallback(pageIndex, jq) {
        // pageIndex从0开始，pageNum从1开始
        var pageNum = pageIndex + 1;
        var keyword=$('[name="keyword"]').val();
        // 跳转页面
        window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
        return false;
    }
    // 声明函数封装用户删除操作
    function doBatchRemove(adminIdArray,loginAcctArray) {
        if (adminIdArray.length==0){
            alert("请勾选您要删除的记录！");
            return ;
        }
        var confirmResult =confirm("您真的要删除"+loginAcctArray+"信息吗？操作不可逆，请谨慎决定！");
        if (confirmResult==false){
            return;
        }
        var requestBody = JSON.stringify(adminIdArray);
        $.ajax({
            url:"/admin/batch/remove",
            type:"post",
            data:requestBody,
            dataType:"json",
            contentType:"application/json;charset=UTF-8",
            success:function (response) {
                var result = response.result;
                if(result=="SUCCESS"){
                    // 跳转页面
                    var pageNum=[[${#request.getAttribute('PAGE-INFO').pageNum}]];
                    var keyword=$('[name="keyword"]').val();
                    window.location.href = "/admin/query/for/search?pageNum="+pageNum+"&keyword="+keyword;
                }else{
                    alert(response.message);
                }
            }

        })
    }
</script>
</body>
</html>